package com.chivalry.member.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 会员列表对象 member_base
 * 
 * @author wm
 * @date 2025-11-15
 */
public class MemberBase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户id */
    private Long memberId;

    /** ID */
    @Excel(name = "ID")
    private Long userId;

    /** 角色 */
    @Excel(name = "角色")
    private Integer role;

    /** 用户名 */
    @Excel(name = "用户名")
    private String memberName;

    /** 用户头像 */
    @Excel(name = "用户头像")
    private String headPortrait;

    /** 登录名 */
    @Excel(name = "登录名")
    private String loginName;

    /** 密码 */
    @Excel(name = "密码")
    private String password;

    /** 加密盐 */
    @Excel(name = "加密盐")
    private String salt;

    /** 真实姓名 */
    @Excel(name = "真实姓名")
    private String realName;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String identityCardNum;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phone;

    /** 登陆成功获得token */
    @Excel(name = "登陆成功获得token")
    private String token;

    /** 性别 */
    @Excel(name = "性别")
    private Integer gender;

    /** 生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 省份 */
    @Excel(name = "省份")
    private String province;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 最后登录IP */
    @Excel(name = "最后登录IP")
    private String loginIp;

    /** 最后登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastLoginTime;

    /** 登录次数 */
    @Excel(name = "登录次数")
    private Long loginCount;

    /** 开放平台unionId */
    @Excel(name = "开放平台unionId")
    private String unionId;

    /** 公众号openId */
    @Excel(name = "公众号openId")
    private String mpOpenId;

    /** 小程序openId */
    @Excel(name = "小程序openId")
    private String appletOpenId;

    /** APPopenId */
    @Excel(name = "APPopenId")
    private String appOpenId;

    /** 用户状态(N=正常,D=删除) */
    @Excel(name = "用户状态(N=正常,D=删除)")
    private String memberStatus;

    /** 微信号 */
    @Excel(name = "微信号")
    private String wechatNo;

    /** QQ号码 */
    @Excel(name = "QQ号码")
    private String qqNo;

    /** 总积分 */
    @Excel(name = "总积分")
    private BigDecimal totalIntegral;

    /** 剩余积分 */
    @Excel(name = "剩余积分")
    private BigDecimal remainIntegral;

    /** 上级用户ID */
    @Excel(name = "上级用户ID")
    private Long parentMemberId;

    /** 上级用户名称 */
    @Excel(name = "上级用户名称")
    private String parentMemberName;

    /** 邀请码 */
    @Excel(name = "邀请码")
    private String invitationCode;

    /** 邀请码二维码 */
    @Excel(name = "邀请码二维码")
    private String invitationQrCode;

    /** 余额 */
    @Excel(name = "余额")
    private BigDecimal balance;

    /** 性别 */
    @Excel(name = "性别")
    private String sex;

    /** 最后操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastOperateTime;

    public void setMemberId(Long memberId) 
    {
        this.memberId = memberId;
    }

    public Long getMemberId() 
    {
        return memberId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setRole(Integer role) 
    {
        this.role = role;
    }

    public Integer getRole() 
    {
        return role;
    }

    public void setMemberName(String memberName) 
    {
        this.memberName = memberName;
    }

    public String getMemberName() 
    {
        return memberName;
    }

    public void setHeadPortrait(String headPortrait) 
    {
        this.headPortrait = headPortrait;
    }

    public String getHeadPortrait() 
    {
        return headPortrait;
    }

    public void setLoginName(String loginName) 
    {
        this.loginName = loginName;
    }

    public String getLoginName() 
    {
        return loginName;
    }

    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }

    public void setSalt(String salt) 
    {
        this.salt = salt;
    }

    public String getSalt() 
    {
        return salt;
    }

    public void setRealName(String realName) 
    {
        this.realName = realName;
    }

    public String getRealName() 
    {
        return realName;
    }

    public void setIdentityCardNum(String identityCardNum) 
    {
        this.identityCardNum = identityCardNum;
    }

    public String getIdentityCardNum() 
    {
        return identityCardNum;
    }

    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }

    public void setToken(String token) 
    {
        this.token = token;
    }

    public String getToken() 
    {
        return token;
    }

    public void setGender(Integer gender) 
    {
        this.gender = gender;
    }

    public Integer getGender() 
    {
        return gender;
    }

    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }

    public void setProvince(String province) 
    {
        this.province = province;
    }

    public String getProvince() 
    {
        return province;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setLoginIp(String loginIp) 
    {
        this.loginIp = loginIp;
    }

    public String getLoginIp() 
    {
        return loginIp;
    }

    public void setLastLoginTime(Date lastLoginTime) 
    {
        this.lastLoginTime = lastLoginTime;
    }

    public Date getLastLoginTime() 
    {
        return lastLoginTime;
    }

    public void setLoginCount(Long loginCount) 
    {
        this.loginCount = loginCount;
    }

    public Long getLoginCount() 
    {
        return loginCount;
    }

    public void setUnionId(String unionId) 
    {
        this.unionId = unionId;
    }

    public String getUnionId() 
    {
        return unionId;
    }

    public void setMpOpenId(String mpOpenId) 
    {
        this.mpOpenId = mpOpenId;
    }

    public String getMpOpenId() 
    {
        return mpOpenId;
    }

    public void setAppletOpenId(String appletOpenId) 
    {
        this.appletOpenId = appletOpenId;
    }

    public String getAppletOpenId() 
    {
        return appletOpenId;
    }

    public void setAppOpenId(String appOpenId) 
    {
        this.appOpenId = appOpenId;
    }

    public String getAppOpenId() 
    {
        return appOpenId;
    }

    public void setMemberStatus(String memberStatus) 
    {
        this.memberStatus = memberStatus;
    }

    public String getMemberStatus() 
    {
        return memberStatus;
    }

    public void setWechatNo(String wechatNo) 
    {
        this.wechatNo = wechatNo;
    }

    public String getWechatNo() 
    {
        return wechatNo;
    }

    public void setQqNo(String qqNo) 
    {
        this.qqNo = qqNo;
    }

    public String getQqNo() 
    {
        return qqNo;
    }

    public void setTotalIntegral(BigDecimal totalIntegral) 
    {
        this.totalIntegral = totalIntegral;
    }

    public BigDecimal getTotalIntegral() 
    {
        return totalIntegral;
    }

    public void setRemainIntegral(BigDecimal remainIntegral) 
    {
        this.remainIntegral = remainIntegral;
    }

    public BigDecimal getRemainIntegral() 
    {
        return remainIntegral;
    }

    public void setParentMemberId(Long parentMemberId) 
    {
        this.parentMemberId = parentMemberId;
    }

    public Long getParentMemberId() 
    {
        return parentMemberId;
    }

    public void setParentMemberName(String parentMemberName) 
    {
        this.parentMemberName = parentMemberName;
    }

    public String getParentMemberName() 
    {
        return parentMemberName;
    }

    public void setInvitationCode(String invitationCode) 
    {
        this.invitationCode = invitationCode;
    }

    public String getInvitationCode() 
    {
        return invitationCode;
    }

    public void setInvitationQrCode(String invitationQrCode) 
    {
        this.invitationQrCode = invitationQrCode;
    }

    public String getInvitationQrCode() 
    {
        return invitationQrCode;
    }

    public void setBalance(BigDecimal balance) 
    {
        this.balance = balance;
    }

    public BigDecimal getBalance() 
    {
        return balance;
    }

    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }

    public void setLastOperateTime(Date lastOperateTime) 
    {
        this.lastOperateTime = lastOperateTime;
    }

    public Date getLastOperateTime() 
    {
        return lastOperateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("memberId", getMemberId())
            .append("userId", getUserId())
            .append("role", getRole())
            .append("memberName", getMemberName())
            .append("headPortrait", getHeadPortrait())
            .append("loginName", getLoginName())
            .append("password", getPassword())
            .append("salt", getSalt())
            .append("realName", getRealName())
            .append("identityCardNum", getIdentityCardNum())
            .append("phone", getPhone())
            .append("token", getToken())
            .append("gender", getGender())
            .append("birthday", getBirthday())
            .append("province", getProvince())
            .append("address", getAddress())
            .append("loginIp", getLoginIp())
            .append("lastLoginTime", getLastLoginTime())
            .append("loginCount", getLoginCount())
            .append("unionId", getUnionId())
            .append("mpOpenId", getMpOpenId())
            .append("appletOpenId", getAppletOpenId())
            .append("appOpenId", getAppOpenId())
            .append("memberStatus", getMemberStatus())
            .append("wechatNo", getWechatNo())
            .append("qqNo", getQqNo())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("totalIntegral", getTotalIntegral())
            .append("remainIntegral", getRemainIntegral())
            .append("parentMemberId", getParentMemberId())
            .append("parentMemberName", getParentMemberName())
            .append("invitationCode", getInvitationCode())
            .append("invitationQrCode", getInvitationQrCode())
            .append("balance", getBalance())
            .append("sex", getSex())
            .append("lastOperateTime", getLastOperateTime())
            .toString();
    }
}
